package org.jtb.quickr;

import java.io.File;
import java.util.Set;

/**
 * Criteria for uploading photos using the <code>PhotoService.upload()</code> method.
 * This class is a bean that encapsulates all arguments 
 * for uploading 
 * a photo in a type-safe manner.
 * For details, see the
 * <a href="http://www.flickr.com/services/api/upload.api.html">
 * Flickr Synchronous Upload API</a> documentation.
 *
 * @see org.jtb.quickr.UploadService#upload(AuthResponse.Token,UploadCriteria)
 *
 */
public class UploadCriteria {    
    private File photo;
    private String title;
    private String description;
    private Set<String> tags;
    private Boolean publicPhoto;
    private Boolean friendPhoto;
    private Boolean familyPhoto;

    public File getPhoto() {
        return photo;
    }

    public void setPhoto(File photo) {
        this.photo = photo;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Set<String> getTags() {
        return tags;
    }

    public void setTags(Set<String> tags) {
        this.tags = tags;
    }

    public Boolean getPublicPhoto() {
        return publicPhoto;
    }

    public void setPublicPhoto(Boolean publicPhoto) {
        this.publicPhoto = publicPhoto;
    }

    public Boolean getFriendPhoto() {
        return friendPhoto;
    }

    public void setFriendPhoto(Boolean friendPhoto) {
        this.friendPhoto = friendPhoto;
    }

    public Boolean getFamilyPhoto() {
        return familyPhoto;
    }

    public void setFamilyPhoto(Boolean familyPhoto) {
        this.familyPhoto = familyPhoto;
    }
}
